class CreateClassifications < ActiveRecord::Migration
  def self.up

    create_table :classifications do |t|
      t.column :name, :string
      t.column :classification_id, :integer
    end

    classification = Classification.new(:name => "Classifations")
    classification.save()
    
    #---------------------------------------------------------------------#
    # Adicinando estrutura de autenticação para Classifications
    #---------------------------------------------------------------------#
    # Criando o grupo de Administração
    group = Group.new(:name => "Classification")
    group.save()
    
    # Criando a capabilite de ADM:ALL
    all = Capabilite.new(:acronym => "CLAS", :name => "ALL")
    all.save()
    Capabilite.new(:acronym => "CLAS", :name => "ADD").save()
    Capabilite.new(:acronym => "CLAS", :name => "REMOVE").save()
    Capabilite.new(:acronym => "CLAS", :name => "MODIFY").save()
    Capabilite.new(:acronym => "CLAS", :name => "VIEW").save()

     # Criando a regra de Administração e associando Capacidades
    role = Role.new(:name => "Classification")
    role.capabilites.push(all)
    role.save()
    
    # Associando o grupo de administração com a regra de administração
    group.roles << role
    group.save();
    
  end

  def self.down
    drop_table :classifications
  end
  
end
